﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Tibet.Logica.Comandos;
using Tibet.Logica.Comandos.ComandoAdministracionProyecto;
using Tibet.Logica.FabricaLogica;
using Tibet.Entidades;
using Tibet.GUI.Presentador;
using Tibet.GUI.Contrato;


namespace Tibet.GUI.Vista
{
    public partial class ModificarProyecto : System.Web.UI.Page, IContratoModificarProyecto
    {
        private PresentadorModificarProyecto _presentador;
        int idProy;

        #region Encapsulamiento Componentes

        public GridView GridViewGeneral
        {
            get { return gridViewGeneral; }
            set { gridViewGeneral = value; }

        }

        public GridView gridViewDesarrolladores
        {
            get { return GridViewDesarrolladores; }
            set { GridViewDesarrolladores = value; }
        }

        public TextBox textNombre
        {
            get { return TextNombre; }
            set { TextNombre = value; }
        }

        public TextBox textBoxRutaProyecto
        {
            get { return TextBoxRutaProyecto; }
            set { TextBoxRutaProyecto = value; }
        }

        public Label labelCliente
        {
            get { return LabelCliente; }
        }
        public DropDownList comboCargarMetricas
        {
            get { return ComboCargarMetricas; }
            set { ComboCargarMetricas = value; }
        }
        #endregion


        protected void Page_Load(object sender, EventArgs e)
        {
            _presentador = new PresentadorModificarProyecto(this);
            _presentador.ConsultarProyectosModificar();
            UpdatePanelGeneral.Visible = true;
            comboCargarMetricas.Enabled = false;
           

            if (!IsPostBack)
            {
                UpdatePanelGeneral.Visible = false;
            }
        }


        /// <summary>
        /// Validamos el checkbox para desactivar el campo del combobox de perfil de metricas
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ValidarComboMetricas(object sender, EventArgs e)
        {
            if (CheckBoxMetricas.Checked == true)
                comboCargarMetricas.Enabled = true;

        }

        protected void GridViewGeneral_SelectedIndexChanged(object sender, EventArgs e)
        {
            PresentadorModificarProyecto _presentador = new PresentadorModificarProyecto(this);
            idProy = Convert.ToInt32(GridViewGeneral.DataKeys[GridViewGeneral.SelectedIndex].Values["Id"].ToString());
            string nombre = Convert.ToString(GridViewGeneral.SelectedRow.Cells[2].Text);
            _presentador.MostrarClienteVista(nombre);
            _presentador.ConsultaModificacionProyecto(idProy);
            _presentador.ConsultarTodosLosPerfilesMetricas();

        }

        protected void GridViewGeneral_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gridViewGeneral.PageIndex = e.NewPageIndex;
        }


        /// <summary>
        /// metodo en el cual capturamos la accion del boton para guardar el proyecto
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void botonModificar_Click(object sender, EventArgs e)
        {
            int posMetricas;
            if (CheckBoxMetricas.Checked)
            {
                posMetricas = comboCargarMetricas.SelectedIndex;
            }
            else
            {
                posMetricas = 0;
            }
            _presentador.ManejarClickModificar(posMetricas,idProy);
        }


    }
}